home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 27 / CU Amiga Magazine's Super CD-ROM 27 (1998)(EMAP Images)(GB)[!][issue 1998-10].iso / CUCD / Programming / JForth / Extras / SysGen / CONDITION < prev    next >
Encoding:
Text File  |  1988-04-03  |  497 b   |  23 lines

  1.  
  2. ( CONDITION by Brian Donovan ) 
  3.  
  4. EXISTS? FORTH 
  5. .IF   FORTH DEFINITIONS
  6. .THEN
  7.  
  8.  
  9. EXISTS? !CSP NOT
  10. .IF   : !CSP  ( --- )   SP@ CSP ! ;  
  11. .THEN
  12.  
  13. : CONDITION ( --- IF_FLAG ) ?COMP  CSP @   !CSP   IF_FLAG   ;   IMMEDIATE
  14.   ( CONDITION IF ... ELSE  IF ... ELSE  ENDCOND )
  15.  
  16. : ENDCOND   (  [adr IF_FLAG] ....--- ) IF_FLAG  ?PAIRS
  17.          BEGIN   SP@ CSP  @ = 0=
  18.          WHILE   IF_FLAG  [COMPILE]  THEN  DROP  ?STACK
  19.          REPEAT  CSP !  ; IMMEDIATE
  20.  
  21. ( HK VERSION tested 5/1/83. BTD. seems fine )
  22.  
  23.